package com.zhijian.medical.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 新文件管理
 *
 * @author Auto Generator
 * @date 2022-07-03 15:48:39
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "新文件管理")
public class NewFile {
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", hidden = true)
    private Long id;

    /**
     * 题目
     */
    @ApiModelProperty("题目")
    private String title;

    /**
     * 发布时间，格式'2022-01-01'
     */
    @ApiModelProperty("发布时间，格式'2022-01-01'")
    private String publishTime;

    /**
     * 刊目名称
     */
    @ApiModelProperty("刊目名称")
    private String journalName;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    private String number;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    @NotBlank(message = "名称不能为空")
    private String name;

    /**
     * 编写者
     */
    @ApiModelProperty("编写者")
    private String writer;

    /**
     * 审核者
     */
    @ApiModelProperty("审核者")
    private String approver;

    /**
     * 真实保存路径
     */
    @ApiModelProperty("真实保存路径")
    private String realPath;

    /**
     * 文件地址
     */
    @ApiModelProperty("文件地址")
    @NotBlank(message = "文件地址不能为空")
    private String filePath;

    /**
     * 类型，1：质量手册，2：程序文件，3：SOP文件，4：记录文件
     */
    @ApiModelProperty("类型，1：质量手册，2：程序文件，3：SOP文件，4：记录文件")
    @NotNull(message = "类型不能为空")
    private Integer type;

    /**
     * 废止时间
     */
    @ApiModelProperty("废止时间")
    private Date discardTime;

    /**
     * 类型字符串
     */
    @ApiModelProperty("类型字符串")
    private String typeStr;

    /**
     * 废止原因
     */
    @ApiModelProperty("废止原因")
    private String discardReason;

    /**
     * 扩展字段1
     */
    @ApiModelProperty("扩展字段1")
    private String ext1;

    /**
     * 扩展字段2
     */
    @ApiModelProperty("扩展字段2")
    private String ext2;

    /**
     * 扩展字段3
     */
    @ApiModelProperty("扩展字段3")
    private String ext3;

    /**
     * 扩展字段4
     */
    @ApiModelProperty("扩展字段4")
    private String ext4;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", hidden = true)
    private Date updateTime;

    /**
     * 序号
     */
    @ApiModelProperty("序号")
    private String sort;

    /**
     * 批准者
     */
    @ApiModelProperty("批准者")
    private String ratify;

    /**
     * 审核日期
     */
    @ApiModelProperty("审核日期")
    private String approveDate;

    /**
     * 批准日期
     */
    @ApiModelProperty("批准日期")
    private String ratifyDate;

    /**
     * 生效日期
     */
    @ApiModelProperty("生效日期")
    private String effectDate;

    /**
     * 制表人
     */
    @ApiModelProperty("制表人")
    private String tabulator;

    /**
     * 执行日期
     */
    @ApiModelProperty("执行日期")
    private String takeDate;
}